#include<iostream>
#include<vector>
#include<cstring>
#include<algorithm>
#include<map>
#include<queue>
#include<cmath>
#include<bitset>
using namespace std;
#define int long long
int a[300010],b[300010];
int n;
int check(int x)
{
    int ans=0,now=0;
    int cnt=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i]<x&&b[i]>=x)
        {
            now=now+1;
        }
        if(a[i]>=x&&b[i]<x)
        {
            now=max((int)0,now-1);
        }
        if(a[i]>=x) cnt++;
        ans=max(ans,now);
    }
    if(cnt+ans>n/2) return 1;
    return 0;
}
void solve()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i]>>b[i];
    }
    int l=1,r=1e9;
    while(l<r)
    {
        int mid=l+r+1>>1;
        if(check(mid)) l=mid;
        else r=mid-1;
    }
    cout<<l<<endl;
}
signed main()
{
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int T=1;
    //cin>>T;
    while(T--) {solve();}
}